การเปลี่ยนจากระบบนิเวศที่ถูกผูกมัดกับผู้ผลิตไปสู่ HIP (อินเทอร์เฟซการประมวลผลแบบไม่เฉพาะเจาะจงเพื่อความยืดหยุ่น) เป็นการก้าวไปสู่ความเป็นอิสระจากฮาร์ดแวร์ แทนที่จะเขียนใหม่ทั้งหมด เราเลือกใช้แนวทาง วิธีการย้ายทีละขั้น—การย้ายอย่างเป็นระบบ โดยให้ความสำคัญกับการตรวจสอบอย่างต่อเนื่อง เพื่อหลีกเลี่ยง 'กับดักบิ๊กแบง' ที่ทำให้การแก้ไขข้อผิดพลาดกลายเป็นไปไม่ได้
1. เครื่องมือช่วยงาน
HIP ให้บริการ API สำหรับการทำงานในขณะรันของภาษา C++ และภาษาสำหรับเคอร์เนล รองรับทั้งสถาปัตยกรรมของ AMD และ NVIDIA Hipify (ผ่านทาง perl หรือ clang) ทำหน้าที่เป็นสะพาน เชื่อมโยงการแปลงโค้ดแหล่งที่มาของ CUDA เป็นโค้ด C++ ที่ใช้งานได้ทั่วไปบน HIP
2. กระบวนการย้าย 6 ขั้นตอน
3. ความเป็นจริง กับ การอัตโนมัติ
แม้ว่า HIP จะทำให้การย้าย เป็นไปได้จริงแต่ก็ยังไม่ใช่ อัตโนมัติ ในด้านประสิทธิภาพ ความเทียบเท่าทางฟังก์ชัน (โค้ดที่ทำงานได้) คือเป้าหมายแรก ขณะที่ความเท่าเทียมด้านประสิทธิภาพ (โค้ดที่ปรับให้เหมาะสมกับเป้าหมาย) คือเป้าหมายสุดท้าย